package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntityPlus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 用户提现申请对象 web_user_withdraw
 * 
 * @author wsliupan@126.com
 * @date 2021-06-06
 */
@ApiModel("用户提现申请对象")
public class WebUserWithdraw extends BaseEntityPlus
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 提现用户 */
    @Excel(name = "提现用户")
    @ApiModelProperty(value = "提现用户" )
    @NotNull(message = "提现用户不能为空")
    private Long userId;

    /** 提现金额 */
    @Excel(name = "提现金额分")
    @ApiModelProperty(value = "提现金额" )
    @NotNull(message = "提现金额不能为空")
    private Integer amount;

    /** 提现金额 */
    @Excel(name = "当前余额")
    @ApiModelProperty(value = "当前余额" )
    private Integer currentTotal;

    /** 身份证号 */
    @Excel(name = "身份证号")
    @ApiModelProperty(value = "身份证号" , hidden = true )
    private String idcard;

    /** 1银行卡 2支付宝 */
    @Excel(name = "1银行卡 2支付宝 3微信")
    @ApiModelProperty(value = "1银行卡 2支付宝 3微信" )
    @NotNull(message = "请选择提现方式")
    private Long bindType;

    /** 开户银行 */
    @Excel(name = "开户银行")
    @ApiModelProperty(value = "开户银行" , hidden = true )
    private String bankType;

    /** 开户行账号 */
    @Excel(name = "开户行账号")
    @ApiModelProperty(value = "开户行账号" , hidden = true )
    private String bankNo;

    /** 支付宝账号 */
    @Excel(name = "支付宝账号")
    @ApiModelProperty(value = "支付宝账号" , hidden = true )
    private String alipayNo;

    /** 支付宝账号 */
    @Excel(name = "0未打款 1已打款 2拒绝打款")
    @ApiModelProperty(value = "打款状态 0未打款 1已打款 2拒绝打款")
    private Integer status;

    /** 打款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打款时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "打款时间" , hidden = true )
    private Date remitTime;

    /** 打款流水号 */
    @Excel(name = "打款流水号")
    @ApiModelProperty(value = "打款流水号" , hidden = true )
    private String serialNumber;

    public Integer getCurrentTotal() {
        return currentTotal;
    }

    public void setCurrentTotal(Integer currentTotal) {
        this.currentTotal = currentTotal;
    }

    /** 用户信息 */
    @TableField(exist = false)
    private String realname;

    @TableField(exist = false)
    private String mobile;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setAmount(Integer amount)
    {
        this.amount = amount;
    }

    public Integer getAmount()
    {
        return amount;
    }
    public void setIdcard(String idcard) 
    {
        this.idcard = idcard;
    }

    public String getIdcard() 
    {
        return idcard;
    }
    public void setBindType(Long bindType) 
    {
        this.bindType = bindType;
    }

    public Long getBindType() 
    {
        return bindType;
    }
    public void setBankType(String bankType) 
    {
        this.bankType = bankType;
    }

    public String getBankType() 
    {
        return bankType;
    }
    public void setBankNo(String bankNo) 
    {
        this.bankNo = bankNo;
    }

    public String getBankNo() 
    {
        return bankNo;
    }
    public void setAlipayNo(String alipayNo) 
    {
        this.alipayNo = alipayNo;
    }

    public String getAlipayNo() 
    {
        return alipayNo;
    }
    public void setRemitTime(Date remitTime) 
    {
        this.remitTime = remitTime;
    }

    public Date getRemitTime() 
    {
        return remitTime;
    }
    public void setSerialNumber(String serialNumber) 
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber() 
    {
        return serialNumber;
    }

    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
}
